Azure Maps Data Service (preview:2.0)

2025/08/14 • 6 deleted methods

Data_UploadPreview (removed)
Description **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). The Data Upload API allows the caller to upload data content to the Azure Maps service. You can use this API in a scenario like uploading a collection of Geofences in `GeoJSON` format, for use in our [Azure Maps Geofencing Service](/rest/api/maps/spatial). ## Submit Upload Request To upload your content you will use a `POST` request. The request body will contain the data to upload. The `Content-Type` header will be set to the content type of the data. For example, to upload a collection of geofences in `GeoJSON` format, set the request body to the geofence content. Set the `dataFormat` query parameter to _geojson_, and set the `Content-Type` header to either one of the following media types: - `application/json` if `dataFormat` is `JSON` - `application/vnd.geo+json` if `dataFormat` is `geoJSON` - `application/octet-stream` if `dataFormat` is `zip` Here's a sample request body for uploading a simple Geofence represented as a circle geometry using a center point and a radius. The sample below is in `GeoJSON`: ```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` The Data Upload API performs a long-running operation. ## Data Upload Limits Please, be aware that currently every Azure Maps account has a [data storage limit](/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. You can always use the [Data Delete API](/rest/api/maps/data/delete) to delete old/unused content and create space for new uploads.
Reference Link ¶

⚼ Request

POST:  /mapData
{
x-ms-client-id: string ,
subscription-key: string ,
api-version: string ,
description: string ,
dataFormat: string ,
UploadContent: object ,
}

⚐ Response (200)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (202)

{
operation-location: string ,
}

⚐ Response (400)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (401)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (403)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (404)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (500)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}
Data_ListPreview (removed)
Description **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). This API allows the caller to fetch a list of all content uploaded previously using the [Data Upload API](/rest/api/maps/data/upload). ### Submit List Request To list all your map data content you will issue a `GET` request with no additional parameters. ### List Data Response The Data List API returns the complete list of all data in `json` format. The response contains the following details for each data resource: > udid - The unique data id for the data resource. > location - The location of the data resource. Execute a HTTP `GET` on this location to download the data. Here's a sample response returning the `udid` and `location` of 3 data resources:
```json { "mapDataList": [ { "udid": "9a1288fa-1858-4a3b-b68d-13a8j5af7d7c", "location": "https://us.atlas.microsoft.com/mapData/9a1288fa-1858-4a3b-b68d-13a8j5af7d7c?api-version=1.0", "created": "2021-04-05T18:41:15+00:00", "updated": "2021-04-05T18:41:26+00:00", "sizeInBytes": 29920, "uploadStatus": "Completed", "description": "Sample Building", "dataFormat": "zip" }, { "udid": "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c", "location": "https://us.atlas.microsoft.com/mapData/8b1288fa-1958-4a2b-b68e-13a7i5af7d7c?api-version=1.0", "created": "2021-06-09T12:42:17+00:00", "updated": "2021-06-09T12:42:19+00:00", "sizeInBytes": 1339, "uploadStatus": "Completed", "description": "Sample Lobby", "dataFormat": "zip" }, { "udid": "7c1288fa-2058-4a1b-b68f-13a6h5af7d7c", "location": "https://us.atlas.microsoft.com/mapData/7c1288fa-2058-4a1b-b68f-13a6h5af7d7c?api-version=1.0", "created": "2021-07-08T08:25:48+00:00", "updated": "2021-07-08T08:25:52+00:00", "sizeInBytes": 1650, "uploadStatus": "Pending", "description": "Sample Break Room", "dataFormat": "zip" }] } ```
Reference Link ¶

⚼ Request

GET:  /mapData
{
x-ms-client-id: string ,
subscription-key: string ,
api-version: string ,
}

⚐ Response (200)

{
$headers:
{
content-type: string ,
}
,
$schema:
{
mapDataList:
[
{
udid: string ,
location: string ,
sizeInBytes: integer ,
uploadStatus: string ,
dataFormat: string ,
description: string ,
}
,
]
,
}
,
}

⚐ Response (400)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (401)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (403)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (404)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (500)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}
Data_UpdatePreview (removed)
Description **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). The Data Update API allows the caller to update a previously uploaded data content. You can use this API in a scenario like adding or removing geofences to or from an existing collection of geofences. Geofences are uploaded using the [Data Upload API](/rest/api/maps/data/upload), for use in the [Azure Maps Geofencing Service](/rest/api/maps/spatial). Please note that the Update API will *replace* and *override* the existing data content. ## Submit Update Request To update your content you will use a `PUT` request. The request body will contain the new data that will replace the existing data. The `Content-Type` header will be set to the content type of the data, and the path will contain the `udid` of the data to be update. For example, to update a collection of geofences that were previously uploaded using the Upload API, place the new geofence content in the request body. Set the `udid` parameter in the path to the `udid` of the data received previously in the upload API response. And set the `Content-Type` header to one of the following media types: - `application/json` if `dataFormat` is `JSON` - `application/vnd.geo+json` if `dataFormat` is `geoJSON` - `application/octet-stream` if `dataFormat` is `zip` Here's a sample request body for updating a simple Geofence. It's represented as a circle geometry using a center point and a radius. The sample below is in `GeoJSON`: ```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` The previously uploaded geofence had a radius of 100m. The above request will update it to 500m. The Data Update API performs a long-running operation. ## Data Update Limits Please, be aware that currently every Azure Maps account has a [data storage limit](/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. You can always use the [Data Delete API](/rest/api/maps/data/delete) to delete old/unused content and create space for new uploads.
Reference Link ¶

⚼ Request

PUT:  /mapData/{udid}
{
x-ms-client-id: string ,
subscription-key: string ,
api-version: string ,
udid: string ,
description: string ,
UpdateContent: object ,
}

⚐ Response (200)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (202)

{
operation-location: string ,
}

⚐ Response (400)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (401)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (403)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (404)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (500)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}
Data_DownloadPreview (removed)
Description **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). This API allows the caller to download a previously uploaded data content.
You can use this API in a scenario like downloading an existing collection of geofences uploaded previously using the [Data Upload API](/rest/api/maps/data/upload) for use in our [Azure Maps Geofencing Service](/en-us/rest/api/maps/spatial). ### Submit Download Request To download your content you will use a `GET` request where the path will contain the `udid` of the data to download. Optionally, you can also pass in an `Accept` header to specify a preference for the `Content-Type` of the data response.
For example, to download a collection of geofences previously uploaded using the Upload API, set the `udid` parameter in the path to the `udid` of the data received previously in the upload API response and set the `Accept` header to either one of the following media types: - `application/json` if `dataFormat` is `JSON` - `application/vnd.geo+json` if `dataFormat` is `geoJSON` - `application/octet-stream` if `dataFormat` is `zip` ### Download Data Response The Download API will return a HTTP `200 OK` response if the data resource with the passed-in `udid` is found, where the response body will contain the content of the data resource.
A HTTP `400 Bad Request` error response will be returned if the data resource with the passed-in `udid` is not found.
Here's a sample response body for a simple geofence represented in `GeoJSON` uploaded previously using the Upload API:
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ```
Reference Link ¶

⚼ Request

GET:  /mapData/{udid}
{
x-ms-client-id: string ,
subscription-key: string ,
api-version: string ,
udid: string ,
}

⚐ Response (200)

{
$headers:
{
content-type: string ,
}
,
$schema: object ,
}

⚐ Response (400)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (401)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (403)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (404)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (500)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}
Data_DeletePreview (removed)
Description **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). This API allows the caller to delete a previously uploaded data content.
You can use this API in a scenario like removing geofences previously uploaded using the [Data Upload API](/rest/api/maps/data/upload) for use in our [Azure Maps Geofencing Service](/en-us/rest/api/maps/spatial). You can also use this API to delete old/unused uploaded content and create space for new content. ### Submit Delete Request To delete your content you will issue a `DELETE` request where the path will contain the `udid` of the data to delete.
For example, to delete a collection of geofences previously uploaded using the Upload API, set the `udid` parameter in the path to the `udid` of the data received previously in the upload API response. ### Delete Data Response The Data Delete API returns a HTTP `204 No Content` response with an empty body, if the data resource was deleted successfully.
A HTTP `400 Bad Request` error response will be returned if the data resource with the passed-in `udid` is not found.
Reference Link ¶

⚼ Request

DELETE:  /mapData/{udid}
{
x-ms-client-id: string ,
subscription-key: string ,
api-version: string ,
udid: string ,
}

⚐ Response (204)

{}

⚐ Response (400)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (401)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (403)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (404)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (500)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}
Data_GetOperationPreview (removed)
Description This path will be obtained from a call to POST /mapData. While in progress, an http200 will be returned with no extra headers - followed by an http200 with Resource-Location header once completed.
Reference Link ¶

⚼ Request

GET:  /mapData/operations/{operationId}
{
subscription-key: string ,
api-version: string ,
operationId: string ,
}

⚐ Response (200)

{
operationId: string ,
status: enum ,
created: string ,
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
warning:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (400)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}